package com.douyin.config;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component  // 标识身份，要被ioc接管
@PropertySource("classpath:jdbc.properties")  // <context:property-placeholder location="classpath:jdbc.properties"/>
public class JdbcConfig {
    @Value("${jdbc.driver}")  // 依赖注入的两种注解中@Value用来注入，普通类型的值
    private String driver ;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;

    public void t1(){

    }

    // 需要一个dataSource的对象.因为druid是第三方的类，我们要引入他的对象，就是传统的new方式
    // 以创建方法的形式，以返回值类似来引入这个对象
    @Bean  // Bean注解表示，生成对象，交由spring来接管该方法的返回值
    public DruidDataSource getDruidDataSource(){

        System.out.println("url = " + url);
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName(driver);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    }
}
